package com.ly.cloud.service;

import java.util.List;

import com.baomidou.mybatisplus.plugins.Page;
import com.ly.cloud.dto.CourseTempDetailDto;
import com.ly.cloud.dto.CourseTempDto;
import com.ly.cloud.vo.CourseTempCasVo;
import com.ly.cloud.vo.CourseTempDetailVo;
import com.ly.cloud.vo.CourseTempVo;

/**
 * 课程学时模板Service
 * @author caihuihai
 * @date 2018年12月17日 下午4:31:09
 */
public interface CourseTimeService {

	/**
	 * 测试远程调用接口
	 * @param bbh
	 * @return
	 */
	String testGen(String loginUserId,String loginUserName,String bbh);

	/**
	 * 分页查询课程学时模板列表
	 * @param page
	 * @return
	 */
	Page<CourseTempVo> selectPage(Page<CourseTempVo> page);

	/**
	 * 新增或修改学时模板
	 * @param dto
	 * @param loginUserName
	 * @return
	 */
	boolean submitMb(CourseTempDto dto, String loginUserName);

	/**
	 * 根据课程模板编号查询课程模板信息
	 * @param kcmbbh
	 * @return
	 */
	CourseTempVo findMbByBh(Long kcmbbh);

	/**
	 * 删除课程模板信息,并把对应的模板学时信息也删除
	 * @param kcmbbh
	 * @return
	 */
	boolean delMbByBh(Long kcmbbh);

	/**
	 * 查询课程学时信息列表
	 * @param kcmbbh
	 * @return
	 */
	List<CourseTempDetailVo> queryKcxsList(Long kcmbbh);


	/**
	 * 点击新增学时按钮时的查询代码集list，需要过滤已选择的学时
	 * @param page
	 * @param kcmbbh
	 * @param xsbh
	 * @param xsmc
	 * @return
	 */
	Page<CourseTempDetailVo> queryKcxsDmjPage(Page<CourseTempDetailVo> page, Long kcmbbh, String xsbh, String xsmc);

	/**
	 * 保存新增的学时信息
	 * @param list
	 * @return
	 */
	boolean insertMbxs(List<CourseTempDetailDto> list);

	/**
	 * 删除学时信息
	 * @param kcmbbh  课程模板编号
	 * @param xsbh  学时编号
	 * @return
	 */
	boolean deleteKcxs(Long kcmbbh, String xsbh);

	/**
	 * 查询课程学时级联列表
	 * @return
	 */
	List<CourseTempCasVo> findKcxsCasList();


}
